home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
F1 Licenseware
/
F1 Licenseware - Volume 1.iso
/
disks
/
055a.dms
/
055a.adf
/
READERS_SOURCE.LHA
/
READERS_SOURCE
/
A_CAMPBELL
/
AJC-COLOUR-DETECT.AMOS
/
AJC-COLOUR-DETECT.amosSourceCode
next >
Wrap
AMOS Source Code
|
1992-02-26
|
2KB
|
77 lines
'
' "COLOUR DETECT EXAMPLE"
' By Andrew Campbell
'
' Joystick LEFT/RIGHT to turn.
' Joystick UP to move.
'
' Cheers.
'
'
Screen Open 1,320,200,16,Lowres
Flash Off : Curs Off : Hide On
Get Sprite Palette
Colour 1,$0 : Colour 10,$F
DR=1 : OK=0
For I=1 To 8 : Hot Spot I,8,8 : Next I
Ink 10 : Polygon 20,50 To 250,100 To 200,100
Polygon 90,100 To 200,160 To 10,150
For I=1 To 10 : Box I,I To 319-I,199-I : Next I
LOOOPER:
XP=50 : YP=50-4
Bob 1,XP,YP,DR : Wait Vbl
MAIN_LOOP:
Repeat
FT=1
If Jright(1) Then Wait 3 : Inc DR : Gosub DR_CHECK : Bob 1,XP,YP,DR
If Jleft(1) Then Wait 3 : Dec DR : Gosub DR_CHECK : Bob 1,XP,YP,DR
If Jup(1) Then Gosub MOVE_IT
Until WIN=1
DR_CHECK:
If DR<1 Then DR=8
If DR>8 Then DR=1
Return
MOVE_IT:
OK=0
If DR=1 Then Repeat : Dec XP : Gosub G_C : Until OK=1
If DR=2 Then Repeat : Dec XP : Dec YP : Gosub G_C : Until OK=1
If DR=3 Then Repeat : Dec YP : Gosub G_C : Until OK=1
If DR=4 Then Repeat : Inc XP : Dec YP : Gosub G_C : Until OK=1
If DR=5 Then Repeat : Inc XP : Gosub G_C : Until OK=1
If DR=6 Then Repeat : Inc XP : Inc YP : Gosub G_C : Until OK=1
If DR=7 Then Repeat : Inc YP : Gosub G_C : Until OK=1
If DR=8 Then Repeat : Dec XP : Inc YP : Gosub G_C : Until OK=1
G_C:
C=Point(XP-6,YP)
D=Point(XP+5,YP)
E=Point(XP,YP-6)
F=Point(XP,YP+4)
If FT=1
If C=10 or D=10 or E=10 or F=10 : Gosub CORRECTION : End If
FT=0
End If
If Jleft(1)<>-1 or Jright(1)<>-1 Then OK=1
If C=10 or D=10 or E=10 or F=10 Then OK=1
Bob 1,XP,YP,DR
If XP<0 or XP>319 or YP<0 or YP>199 Then Boom : Goto LOOOPER
Return
CORRECTION:
If DR=1 or DR=2 or DR=8 Then Inc XP
If DR=2 or DR=3 or DR=4 Then Inc YP
If DR=6 or DR=7 or DR=8 Then Dec YP
If DR=4 or DR=5 or DR=6 Then Dec XP
FT=0 : Pop : Pop : Pop
Goto MAIN_LOOP